Computer graphics technology has advanced to a point where highly photo-realistic, near-motion picture quality interactive computer graphics has become available on systems costing only a few hundred dollars or less. It was not so long ago that an average programmer could develop state of the art video and computer games in a relatively short time. Many of us can remember pumping quarters into arcade games that, although often fun to play, displayed screens that were relatively simple and uncomplicated. Now, a variety of modern computing devices such as personal computers, home video game systems, cellular telephones, personal digital assistants and other devices have highly sophisticated 3D computer graphics engines and fast processors that provide impressive photorealistic graphics at low cost.
As the power and sophistication of commonly available video game playing computer platforms has increased, so have the technical challenges involved in developing new game software to play on those platforms. It is now relatively common for video game developers to spend many months and tens or hundreds of thousands of dollars developing each major new video game title. It often takes an entire team of developers including graphic artists, software programmers, music composers and performers, and artificial intelligence experts to produce a new hit game. A development team can spend many months developing story boards, producing graphics, composing music, writing code and completing other tasks involved in putting together exciting, fun to play and interesting video games.
While many gamers are satisfied with playing video games others have developed, some portion of the gaming community is intrigued by the idea of developing their own games. We now live in a world where users can create their own text, audio, pictures, videos and other content and upload them onto the Internet or other network so it can be accessed by others around the world. Many dream of developing a hit game that brings fun and enjoyment to thousands of game enthusiasts worldwide.
There are a number of success stories in the gaming industry where an independent programmer working in his or her bedroom or basement has succeeded in developing a hit game. However, most such success stories involve highly talented, highly technical computer programmers who became technical experts in both software development and video game technology. Many more people who have acquired the tools needed for writing video games soon realized how technically challenging and time consuming it is to develop even relatively simple games. Combining technical expertise, available time and creativity in the quantities required to develop even rudimentary gaming applications for modern computing platforms is well beyond the capability of most gaming enthusiasts.
Some in the gaming industry believe it may be possible to inspire amateurs to develop and share or sell relatively simple games over gaming networks. See, e.g., Levine, “Microsoft has a starter kit for aspiring game designers” New York Times (14 Aug. 2006); Wingfield, “Microsoft to Offer Software To Make Game Creation Easier”, Wall Street Journal (14 Aug. 2006) describing a strategy for encouraging students and hobbiests to develop video games using a game authoring tool. Such a strategy could possibly be successful if, for example, collaborative game development over the Internet could be practiced. However, many believe that authoring tool ease-of-use is a critical aspect to the success of such efforts. It is likely that even moderately powerful game authoring tools will be technically beyond the ken of a great majority of gaming enthusiasts.
Some in the past have tried a different approach to allowing gamers to develop new and original gaming interfaces. Some years back, Nintendo released a game called “Mario Paint” for the Super Nintendo Entertainment System that allowed the game player to graphically compose music and simple animations. Mario Paint was designed so the game player needed no special technical expertise, and easy to use authoring tools were built into the game itself. Using the Mario Paint game, the game player could place graphical characters on a musical staff to cause different notes and sounds to be played. The Mario Paint game also allowed the game player to author other interesting graphical effects using a mouse as a pointing device. The end user could also make simple looping animations which could then be set to music created in the music generator, although such animations could not be exported. While this prior technology was highly successful, it had some limitations.
More recently, some have attempted to develop games that allow the game player to build, explore and exchange game play levels. One example is the MegaMan® Powered Up game developed by Capcom Entertainment for the Sony PSP. This MegaMan® Powered Up game provides a “construction mode” that allows the game player to create “his or her own custom MegaMan stages just like building with blocks.” A game player can play his or her own custom stage, and may also download other custom stages over a network to play someone else's custom stage. Game players can rate downloaded custom stages after they have played them. Level authoring is intended to be relatively easy to use by, for example, using the directional buttons on the Sony PSP to select building blocks and place them on a grid to progressively build a game play world. See, for example, MegaMan® Powered Up Manual No. ULUS10091 (Capcom 1987, 2006).
While such in-game graphical user interface approaches can allow entirely non-technical game players to creatively develop gaming landscapes for other players to negotiate, there are some significant technical challenges in developing such a system that is truly fun to use. Much of the fun of a game playing experience relates to how game characters interact with their virtual environment. Gaming enthusiasts have come to expect highly realistic, complex game play worlds that are fully functional from the standpoint of a game character moving within the world. They will be dissatisfied if the only landscapes they can produce with an authoring tool are so simple as to be uninteresting. This factor argues in favor of giving end users a great deal of flexibility to define whatever virtual environment structures they wish. Such an approach is perhaps worthwhile if the user can assumed to be relatively sophisticated and can be counted upon to design virtual environments with great care and skill. On the other hand, expecting younger or less sophisticated game players to make use of such versatile and flexible game design features can sometimes lead to frustrating end results. Users can easily become frustrated if the virtual game structures they create do not “work” or are not useful from a game playing perspective. For example, most game players will be dissatisfied if a game character ends up on a structure that is so high up in the air that the character cannot move off the structure at all or will lose its virtual life by stepping off. Most game players will not like scenarios where a game character can accidentally fall into a hole or other trap that the character can never get out of. Unfortunately, many professional game developers will tell you that “the devil is in the details” and that successful video game development depends on a combination of creativity and vision, experience, technical expertise and uncompromising attention to detail. Again, the average video game end user may be lacking in some of these areas.
Accordingly, although much work has been done in the past, further improvements are possible and desirable.
Exemplary illustrative non-limiting technology herein allows game players to create new game play by using an easy to use game editor function that is itself like an animated game. This editor function provides new features including the ability to choose game elements (e.g., ground, walls, ceiling, pipe, elevator, conveyor belt, swing bar and other elements) by using an “auto completion” feature. The auto completion function automatically connects and/or arranges chosen game elements (i.e., a pipe connected to a pipe) to provide virtual structures that are easily navigated by game characters while observing necessary distances between functional objects to avoid undesired interference between structures. Such technology can allow an end user (game player) with little or no technical background to easily develop game levels that are fun to play and do not suffer from any significant defects or other problems that would decrease ease of navigation, functionality or amount of fun.
Ease of use is obtained for example, by designing editing features around specific objects so that, for example, a pipe opening cannot be placed so close to a surface that a game character cannot enter it, a platform cannot be placed so close to an elevator such that the game character cannot get from the elevator to the platform, and the like. The end user can in effect “draw” walls and other structures that are filled in automatically at appropriate spacing to provide a high degree of functionality. Even users who have little or no knowledge of what it takes to build a level can create game levels that are fun to play. The editor can automatically augment, with animation, the structure the end user has designed to provide real time animated interactivity in response to user inputs.
Once the user has finished designing a game environment and associated game play in one exemplary illustrative non-limiting implementation, the user may upload the game via a network onto a server. Other users can retrieve the game from the server and play it on their own game playing devices. Users can provide feedback concerning the fun and functionality of the game. Good feedback can entitle the developer of the game to recognition including for example bonus points. Bonus points can be redeemed for items listed in an online catalog. One example catalog may contain items (characters, backgrounds, structures, etc.) used for creating additional games. Users can redeem their bonus points for such game material and create ever more interesting and varied games they can upload to achieve further feedback, recognition and awards.
Server software can scan uploaded material for undesired features (e.g., profanity) if desired, and may also track and score the number of downloads, popularity of various games available for download, etc. Fees can be charged for each download, a subscription service could be used, or downloads can be free, depending on the business model. Games can be infinitely expandable (limited for example by the amount of local storage) on an ongoing basis as desired by downloading additional levels created by other users. New levels can be downloaded to replace previous levels. Once downloaded, the new levels can be stored locally so that they can be played even when a network connection is not available. Collaboration is possible where a user can download a game created by another user, edit that game, and upload the edited version for yet another player to download, play, and possibly edit. Sharing can be conditioned on passwords, codes, “friend” status or the like. In other implementations, some downloaded games can be locked from further editing to ensure that the creator receives proper credit and recognition.